[INFO] fetching crate stepflow 0.0.8...
[INFO] fixing stepflow-0.0.8 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate stepflow 0.0.8 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate stepflow 0.0.8
[INFO] finished tweaking crates.io crate stepflow 0.0.8
[INFO] tweaked toml for crates.io crate stepflow 0.0.8 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate stepflow 0.0.8 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate stepflow 0.0.8 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] ebc1e0b83ddc1f6fbd639e0f98465900593edd9f5ea5755c9a5900891f4f39aa
[INFO] running `Command { std: "docker" "start" "ebc1e0b83ddc1f6fbd639e0f98465900593edd9f5ea5755c9a5900891f4f39aa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ebc1e0b83ddc1f6fbd639e0f98465900593edd9f5ea5755c9a5900891f4f39aa" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ebc1e0b83ddc1f6fbd639e0f98465900593edd9f5ea5755c9a5900891f4f39aa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ebc1e0b83ddc1f6fbd639e0f98465900593edd9f5ea5755c9a5900891f4f39aa" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   syn v1.0.67 (as host dependency) removed features: extra-traits, full, visit, visit-mut
[INFO] [stderr] 
[INFO] [stderr] The following differences only apply when building with dev-dependencies:
[INFO] [stderr] 
[INFO] [stderr]   byteorder v1.4.3 (as host dependency) removed features: default, std
[INFO] [stderr]   regex v1.4.5 (as host dependency) removed features: aho-corasick, default, memchr, perf, perf-cache, perf-dfa, perf-inline, perf-literal, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-script, unicode-segment
[INFO] [stderr]   regex-syntax v0.6.23 (as host dependency) removed features: default, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-script, unicode-segment
[INFO] [stderr]   tokio v0.2.25 removed features: winapi
[INFO] [stderr] 
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling libc v0.2.92
[INFO] [stderr]    Compiling syn v1.0.67
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling serde_derive v1.0.125
[INFO] [stderr]    Compiling serde v1.0.125
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]     Checking bytes v1.0.1
[INFO] [stderr]    Compiling getrandom v0.2.2
[INFO] [stderr]     Checking futures-core v0.3.13
[INFO] [stderr]     Checking pin-project-lite v0.2.6
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]     Checking tracing-core v0.1.17
[INFO] [stderr]     Checking regex-syntax v0.6.23
[INFO] [stderr]     Checking futures-sink v0.3.13
[INFO] [stderr]     Checking tinyvec v1.1.1
[INFO] [stderr]    Compiling httparse v1.3.5
[INFO] [stderr]     Checking unicode-bidi v0.3.4
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]     Checking pin-project-lite v0.1.12
[INFO] [stderr]     Checking futures-task v0.3.13
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]    Compiling indexmap v1.6.2
[INFO] [stderr]    Compiling crossbeam-utils v0.8.3
[INFO] [stderr]     Checking aho-corasick v0.7.15
[INFO] [stderr]     Checking futures-util v0.3.13
[INFO] [stderr]     Checking once_cell v1.7.2
[INFO] [stderr]     Checking http v0.2.3
[INFO] [stderr]     Checking cpuid-bool v0.1.2
[INFO] [stderr]    Compiling pin-project-internal v0.4.28
[INFO] [stderr]    Compiling mime_guess v2.0.3
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]     Checking thread_local v1.1.3
[INFO] [stderr]     Checking sha-1 v0.9.4
[INFO] [stderr]     Checking net2 v0.2.37
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking getrandom v0.1.16
[INFO] [stderr]     Checking time v0.1.43
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking signal-hook-registry v1.3.0
[INFO] [stderr]     Checking rand_core v0.6.2
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking bstr v0.2.15
[INFO] [stderr]    Compiling maplit v1.0.2
[INFO] [stderr]     Checking urlencoding v1.1.1
[INFO] [stderr]     Checking mime v0.3.16
[INFO] [stderr]     Checking hashbrown v0.9.1
[INFO] [stderr]     Checking rand_chacha v0.3.0
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]    Compiling pest_meta v2.1.3
[INFO] [stderr]     Checking rand v0.8.3
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking unicode-normalization v0.1.17
[INFO] [stderr]     Checking futures-channel v0.3.13
[INFO] [stderr]     Checking input_buffer v0.3.1
[INFO] [stderr]     Checking utf-8 v0.7.5
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking try-lock v0.2.3
[INFO] [stderr]     Checking regex v1.4.5
[INFO] [stderr]     Checking mio-uds v0.6.8
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]     Checking base64 v0.12.3
[INFO] [stderr]     Checking htmlescape v0.3.1
[INFO] [stderr]     Checking want v0.3.0
[INFO] [stderr]     Checking regex-automata v0.1.9
[INFO] [stderr]     Checking buf_redux v0.8.4
[INFO] [stderr]     Checking socket2 v0.3.19
[INFO] [stderr]     Checking twoway v0.1.8
[INFO] [stderr]     Checking base64 v0.13.0
[INFO] [stderr]     Checking deunicode v0.4.3
[INFO] [stderr]     Checking futures-io v0.3.13
[INFO] [stderr]     Checking ucd-trie v0.1.3
[INFO] [stderr]     Checking tempfile v3.2.0
[INFO] [stderr]     Checking dtoa v0.4.8
[INFO] [stderr]     Checking httpdate v0.3.2
[INFO] [stderr]     Checking tower-service v0.3.1
[INFO] [stderr]     Checking slug v0.1.4
[INFO] [stderr]     Checking globset v0.4.6
[INFO] [stderr]     Checking tracing-log v0.1.2
[INFO] [stderr]     Checking matchers v0.0.1
[INFO] [stderr]     Checking pest v2.1.3
[INFO] [stderr]     Checking sharded-slab v0.1.1
[INFO] [stderr]     Checking scoped-tls v1.0.0
[INFO] [stderr]     Checking humansize v1.1.0
[INFO] [stderr]     Checking smallvec v1.6.1
[INFO] [stderr]     Checking idna v0.2.2
[INFO] [stderr]     Checking multipart v0.17.1
[INFO] [stderr]     Checking ignore v0.4.17
[INFO] [stderr]     Checking http-body v0.3.1
[INFO] [stderr]     Checking headers-core v0.2.0
[INFO] [stderr]     Checking headers v0.3.4
[INFO] [stderr]     Checking globwalk v0.8.1
[INFO] [stderr]     Checking url v2.2.1
[INFO] [stderr]     Checking futures v0.3.13
[INFO] [stderr]     Checking tungstenite v0.11.1
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.0
[INFO] [stderr]    Compiling chrono-tz v0.5.3
[INFO] [stderr]    Compiling pest_generator v2.1.3
[INFO] [stderr]    Compiling tokio-macros v0.2.6
[INFO] [stderr]    Compiling tracing-attributes v0.1.15
[INFO] [stderr]    Compiling pin-project-internal v1.0.6
[INFO] [stderr]    Compiling pest_derive v2.1.0
[INFO] [stderr]     Checking tokio v0.2.25
[INFO] [stderr]     Checking pin-project v1.0.6
[INFO] [stderr]     Checking tracing v0.1.25
[INFO] [stderr]     Checking pin-project v0.4.28
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stderr]     Checking tokio-util v0.3.1
[INFO] [stderr]     Checking tokio-tungstenite v0.11.0
[INFO] [stderr]     Checking h2 v0.2.7
[INFO] [stderr]     Checking stepflow-base v0.0.5
[INFO] [stderr]     Checking serde_json v1.0.64
[INFO] [stderr]     Checking tracing-serde v0.1.2
[INFO] [stderr]     Checking serde_urlencoded v0.6.1
[INFO] [stderr]     Checking stepflow-data v0.0.5
[INFO] [stderr]     Checking stepflow-step v0.0.5
[INFO] [stderr]     Checking stepflow-action v0.0.6
[INFO] [stderr]     Checking stepflow-session v0.0.7
[INFO] [stderr]     Checking stepflow v0.0.8 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]     Checking tracing-subscriber v0.2.17
[INFO] [stderr]     Checking tera v1.7.0
[INFO] [stderr]     Checking hyper v0.13.10
[INFO] [stderr]     Checking warp v0.2.5
[INFO] [stderr]    Migrating examples/warp/main.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 33.18s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, multipart v0.17.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] [stderr] crater-edition-check: stepflow v0.0.8 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]    Compiling regex-syntax v0.6.23
[INFO] [stderr]     Checking tokio v0.2.25
[INFO] [stderr]     Checking stepflow v0.0.8 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling regex v1.4.5
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.0
[INFO] [stderr]    Compiling chrono-tz v0.5.3
[INFO] [stderr]     Checking tokio-util v0.3.1
[INFO] [stderr]     Checking tokio-tungstenite v0.11.0
[INFO] [stderr]     Checking h2 v0.2.7
[INFO] [stderr]     Checking hyper v0.13.10
[INFO] [stderr]     Checking tera v1.7.0
[INFO] [stderr]     Checking warp v0.2.5
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> examples/warp/main.rs:25:18
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct WarpError(Error);
[INFO] [stdout]    |        --------- ^^^^^
[INFO] [stdout]    |        |
[INFO] [stdout]    |        field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `WarpError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> examples/warp/main.rs:29:23
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct SerdeJsonError(serde_json::Error);
[INFO] [stdout]    |        -------------- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |        |
[INFO] [stdout]    |        field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `SerdeJsonError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> examples/warp/main.rs:33:18
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct TeraError(tera::Error);
[INFO] [stdout]    |        --------- ^^^^^^^^^^^
[INFO] [stdout]    |        |
[INFO] [stdout]    |        field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `TeraError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]   --> examples/warp/main.rs:52:20
[INFO] [stdout]    |
[INFO] [stdout] 52 |     for step_id in step_ids.get(1..) {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]    |
[INFO] [stdout] 52 -     for step_id in step_ids.get(1..) {
[INFO] [stdout] 52 +     while let Some(step_id) = step_ids.get(1..) {
[INFO] [stdout]    |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]    |
[INFO] [stdout] 52 -     for step_id in step_ids.get(1..) {
[INFO] [stdout] 52 +     if let Some(step_id) = step_ids.get(1..) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> examples/warp/main.rs:63:90
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let email_validated_var = session.var_store().get_by_name("email_validated").unwrap().clone();
[INFO] [stdout]    |                                                                                          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `Box<dyn Var + Send + Sync>` does not implement `Clone`, so calling `clone` on `&Box<dyn Var + Send + Sync>` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout] 63 -     let email_validated_var = session.var_store().get_by_name("email_validated").unwrap().clone();
[INFO] [stdout] 63 +     let email_validated_var = session.var_store().get_by_name("email_validated").unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> examples/warp/main.rs:67:94
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let success_validated_var = session.var_store().get_by_name("success_validated").unwrap().clone();
[INFO] [stdout]    |                                                                                              ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `Box<dyn Var + Send + Sync>` does not implement `Clone`, so calling `clone` on `&Box<dyn Var + Send + Sync>` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout] 67 -     let success_validated_var = session.var_store().get_by_name("success_validated").unwrap().clone();
[INFO] [stdout] 67 +     let success_validated_var = session.var_store().get_by_name("success_validated").unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> examples/warp/main.rs:201:31
[INFO] [stdout]     |
[INFO] [stdout] 201 |                     Some((name.clone(), *val_invalid))
[INFO] [stdout]     |                               ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 48.40s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, multipart v0.17.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   syn v1.0.67 (as host dependency) removed features: extra-traits, full, visit, visit-mut
[INFO] [stderr] 
[INFO] [stderr] The following differences only apply when building with dev-dependencies:
[INFO] [stderr] 
[INFO] [stderr]   byteorder v1.4.3 (as host dependency) removed features: default, std
[INFO] [stderr]   regex v1.4.5 (as host dependency) removed features: aho-corasick, default, memchr, perf, perf-cache, perf-dfa, perf-inline, perf-literal, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-script, unicode-segment
[INFO] [stderr]   regex-syntax v0.6.23 (as host dependency) removed features: default, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-script, unicode-segment
[INFO] [stderr]   tokio v0.2.25 removed features: winapi
[INFO] [stderr] 
[INFO] [stderr]     Checking stepflow v0.0.8 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/warp/main.rs from 2021 edition to 2024
[INFO] [stderr] error: errors present after applying fixes to crate `warp`
[INFO] [stderr]  --> examples/warp/main.rs
[INFO] [stderr]   = cause: error: expected identifier
[INFO] [stderr]               --> examples/warp/main.rs:187:28
[INFO] [stderr]                |
[INFO] [stderr]            187 |     -> Result<impl Reply + use<>, Rejection>
[INFO] [stderr]                |                            ^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 1 previous error
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stdout] warning: `impl Reply` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> examples/warp/main.rs:138:36
[INFO] [stdout]     |
[INFO] [stdout] 138 | fn redirect_as_other(uri: &str) -> impl Reply {
[INFO] [stdout]     |                                    ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> examples/warp/main.rs:138:27
[INFO] [stdout]     |
[INFO] [stdout] 138 | fn redirect_as_other(uri: &str) -> impl Reply {
[INFO] [stdout]     |                           ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 138 | fn redirect_as_other(uri: &str) -> impl Reply + use<> {
[INFO] [stdout]     |                                               +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Reply` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> examples/warp/main.rs:146:94
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn redirect_from_advance(advance_result: AdvanceBlockedOn, session_id: &SessionId) -> Result<impl Reply, Error> {
[INFO] [stdout]     |                                                                                              ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> examples/warp/main.rs:146:72
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn redirect_from_advance(advance_result: AdvanceBlockedOn, session_id: &SessionId) -> Result<impl Reply, Error> {
[INFO] [stdout]     |                                                                        ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn redirect_from_advance(advance_result: AdvanceBlockedOn, session_id: &SessionId) -> Result<impl Reply + use<>, Error> {
[INFO] [stdout]     |                                                                                                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 50.28s
[INFO] [stdout] warning: `impl Reply` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> examples/warp/main.rs:172:101
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub async fn new_handler<'a>(session_store: Arc<RwLock<ObjectStore<Session, SessionId>>>) -> Result<impl Reply, Rejection> {
[INFO] [stdout]     |                                                                                                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> examples/warp/main.rs:172:26
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub async fn new_handler<'a>(session_store: Arc<RwLock<ObjectStore<Session, SessionId>>>) -> Result<impl Reply, Rejection> {
[INFO] [stdout]     |                          ^^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub async fn new_handler<'a>(session_store: Arc<RwLock<ObjectStore<Session, SessionId>>>) -> Result<impl Reply + use<>, Rejection> {
[INFO] [stdout]     |                                                                                                                +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Reply` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> examples/warp/main.rs:187:15
[INFO] [stdout]     |
[INFO] [stdout] 187 |     -> Result<impl Reply, Rejection>
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> examples/warp/main.rs:185:32
[INFO] [stdout]     |
[INFO] [stdout] 185 |         templates: Arc<HashMap<&str, Context>>,
[INFO] [stdout]     |                                ^
[INFO] [stdout] 186 |         error: Option<&Error>)
[INFO] [stdout]     |                       ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 187 |     -> Result<impl Reply + use<>, Rejection>
[INFO] [stdout]     |                          +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, multipart v0.17.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] [stderr] crater-edition-check: stepflow v0.0.8 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking stepflow v0.0.8 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0597]: `*val` does not live long enough
[INFO] [stdout]    --> examples/warp/main.rs:149:32
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn redirect_from_advance(advance_result: AdvanceBlockedOn, session_id: &SessionId) -> Result<impl Reply, Error> {
[INFO] [stdout]     |                                                                        - let's call the lifetime of this reference `'1`
[INFO] [stdout] 147 |     match advance_result {
[INFO] [stdout] 148 |         AdvanceBlockedOn::ActionStartWith(_, val) => {
[INFO] [stdout]     |                                              --- binding `val` declared here
[INFO] [stdout] 149 |             if let Some(uri) = val.downcast::<StringValue>() {
[INFO] [stdout]     |                                ^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 154 |         }
[INFO] [stdout]     |         - `*val` dropped here while still borrowed
[INFO] [stdout] ...
[INFO] [stdout] 160 |             Ok(redirect_as_other(&done_uri[..]))
[INFO] [stdout]     |             ------------------------------------ opaque type requires that `*val` is borrowed for `'1`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> examples/warp/main.rs:150:20
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 Ok(redirect_as_other(uri.val()))
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 138 | fn redirect_as_other(uri: &str) -> impl Reply + use<> {
[INFO] [stdout]     |                                               +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `done_uri` does not live long enough
[INFO] [stdout]    --> examples/warp/main.rs:160:35
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn redirect_from_advance(advance_result: AdvanceBlockedOn, session_id: &SessionId) -> Result<impl Reply, Error> {
[INFO] [stdout]     |                                                                        - let's call the lifetime of this reference `'1`
[INFO] [stdout] ...
[INFO] [stdout] 159 |             let done_uri = format!("/done/{}", session_id);
[INFO] [stdout]     |                 -------- binding `done_uri` declared here
[INFO] [stdout] 160 |             Ok(redirect_as_other(&done_uri[..]))
[INFO] [stdout]     |                -------------------^^^^^^^^-----
[INFO] [stdout]     |                |                  |
[INFO] [stdout]     |                |                  borrowed value does not live long enough
[INFO] [stdout]     |                argument requires that `done_uri` is borrowed for `'1`
[INFO] [stdout] 161 |         }
[INFO] [stdout]     |         - `done_uri` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> examples/warp/main.rs:160:16
[INFO] [stdout]     |
[INFO] [stdout] 160 |             Ok(redirect_as_other(&done_uri[..]))
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 138 | fn redirect_as_other(uri: &str) -> impl Reply + use<> {
[INFO] [stdout]     |                                               +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0515]: cannot return value referencing local variable `session_id`
[INFO] [stdout]    --> examples/warp/main.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 176 |       redirect_from_advance(advance_result, &session_id)
[INFO] [stdout]     |       ^                                     ----------- `session_id` is borrowed here
[INFO] [stdout]     |  _____|
[INFO] [stdout]     | |
[INFO] [stdout] 177 | |         .map_err(|e| warp::reject::custom(WarpError(e)))
[INFO] [stdout]     | |________________________________________________________^ returns a value referencing data owned by the current function
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> examples/warp/main.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 176 |     redirect_from_advance(advance_result, &session_id)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn redirect_from_advance(advance_result: AdvanceBlockedOn, session_id: &SessionId) -> Result<impl Reply + use<>, Error> {
[INFO] [stdout]     |                                                                                                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0373]: closure may outlive the current function, but it borrows `session_id`, which is owned by the current function
[INFO] [stdout]    --> examples/warp/main.rs:255:19
[INFO] [stdout]     |
[INFO] [stdout] 255 |         .and_then(|advance_result| redirect_from_advance(advance_result, &session_id))
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^                                        ---------- `session_id` is borrowed here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   may outlive borrowed value `session_id`
[INFO] [stdout]     |
[INFO] [stdout] note: closure is returned here
[INFO] [stdout]    --> examples/warp/main.rs:260:45
[INFO] [stdout]     |
[INFO] [stdout] 260 |         Ok(r) if field_errors.len() == 0 => Ok(r),
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout] help: to force the closure to take ownership of `session_id` (and any other referenced variables), use the `move` keyword
[INFO] [stdout]     |
[INFO] [stdout] 255 |         .and_then(move |advance_result| redirect_from_advance(advance_result, &session_id))
[INFO] [stdout]     |                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0515]: cannot return value referencing local variable `error`
[INFO] [stdout]    --> examples/warp/main.rs:263:13
[INFO] [stdout]     |
[INFO] [stdout] 263 |               step_handler(session_id, step_name, session_store, templates, Some(&error))
[INFO] [stdout]     |               ^                                                                  ------ `error` is borrowed here
[INFO] [stdout]     |  _____________|
[INFO] [stdout]     | |
[INFO] [stdout] 264 | |                 .await
[INFO] [stdout] 265 | |                 .map(|r| Box::new(r) as _)
[INFO] [stdout]     | |__________________________________________^ returns a value referencing data owned by the current function
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> examples/warp/main.rs:263:13
[INFO] [stdout]     |
[INFO] [stdout] 263 |             step_handler(session_id, step_name, session_store, templates, Some(&error))
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 187 |     -> Result<impl Reply + use<>, Rejection>
[INFO] [stdout]     |                          +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0515]: cannot return value referencing local variable `error`
[INFO] [stdout]    --> examples/warp/main.rs:268:13
[INFO] [stdout]     |
[INFO] [stdout] 268 |               step_handler(session_id, step_name, session_store, templates, Some(&error))
[INFO] [stdout]     |               ^                                                                  ------ `error` is borrowed here
[INFO] [stdout]     |  _____________|
[INFO] [stdout]     | |
[INFO] [stdout] 269 | |                 .await
[INFO] [stdout] 270 | |                 .map(|r| Box::new(r) as _)
[INFO] [stdout]     | |__________________________________________^ returns a value referencing data owned by the current function
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> examples/warp/main.rs:268:13
[INFO] [stdout]     |
[INFO] [stdout] 268 |             step_handler(session_id, step_name, session_store, templates, Some(&error))
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 187 |     -> Result<impl Reply + use<>, Rejection>
[INFO] [stdout]     |                          +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> examples/warp/main.rs:268:13
[INFO] [stdout]     |
[INFO] [stdout] 219 |           templates: Arc<HashMap<&str, Context>>)
[INFO] [stdout]     |                                  - let's call the lifetime of this reference `'1`
[INFO] [stdout] ...
[INFO] [stdout] 268 | /             step_handler(session_id, step_name, session_store, templates, Some(&error))
[INFO] [stdout] 269 | |                 .await
[INFO] [stdout] 270 | |                 .map(|r| Box::new(r) as _)
[INFO] [stdout]     | |__________________________________________^ returning this value requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] help: to declare that the trait object captures data from argument `templates`, you can add an explicit `'_` lifetime bound
[INFO] [stdout]     |
[INFO] [stdout] 220 |         -> Result<Box<dyn Reply + '_>, Rejection> {
[INFO] [stdout]     |                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0373, E0515, E0597.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0373`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stepflow` (example "warp") due to 7 previous errors
[INFO] running `Command { std: "docker" "inspect" "ebc1e0b83ddc1f6fbd639e0f98465900593edd9f5ea5755c9a5900891f4f39aa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ebc1e0b83ddc1f6fbd639e0f98465900593edd9f5ea5755c9a5900891f4f39aa", kill_on_drop: false }`
[INFO] [stdout] ebc1e0b83ddc1f6fbd639e0f98465900593edd9f5ea5755c9a5900891f4f39aa
